
//axios

/* 所有ajax的代码写到这里 */
axios.defaults.baseURL = 'http://192.168.22.194:8080'
// 设置AJAX超时时间
axios.defaults.timeout = 3000
// 设置提交数据时的格式
axios.defaults.headers.post['Content-Type'] = 'application/json'

axios.interceptors.request.use(function (config) {
    // 判断如果用户登录了就把 token 配置上 axios 的协议头中
    let token = localStorage.getItem('token')
    if (token) {
        config.headers['token'] = token
    }
    // 处理请求前代码
    return config;
}, function (error) {
    // Do something with request error
    return Promise.reject(error);
});

/**
 * 用户登陆
 * @param {*} user 
 */
function login(user) {
    return axios.post("/user/login", user);
}

/**
 * 根据用户名获取头像
 */
function getUimage(uname) {
    return axios.get("/user/getUimage?uname=" + uname);
}

/**
 * 获取用户信息
 */
function getUserInfo() {
    return axios.get("/user/getUserInfo");
}

/**
 * 获取登陆好友信息
 */
function getFriend() {
    return axios.get("/friend/findFriend");
}

/**
 * 获取最近聊天好友
 */
function getMessage() {
    return axios.get("/message/findMessage");
}

/**
 * 发送消息
 */
function sendMC(mc) {
    return axios.post("/mc/sendMessage", mc);
}

/**
 * 更新消息为已读
 */
function upNotRead(mid) {
    return axios.put("/mc/upNotRead/" + mid);
}

/**
 * 获取推荐好友
 */
function getRecoList(page, size, username) {
    //如果没有username就返回推荐好友,如果有就正常查询
    var name = username ? "&username=" + username : "";
    return axios.get("/user/getRecoList?page=" + page + "&size=" + size + name);
}

/**
 * 申请好友
 */
function addFriends(uid) {
    return axios.post("/friend/addFriends/" + uid);
}

/**
 * 获取正在申请的消息
 */
function already() {
    return axios.get("/friend/already");
}

/**
 * 获取申请我为好友的消息
 */
function getAddInfo() {
    return axios.get("/friend/getAddInfo");
}

/**
 * 同意申请
 */
function infoAgree(id) {
    return axios.put("/friend/infoAgree/" + id);
}

/**
 * 忽略申请
 */
function infoIgnore(id) {
    return axios.delete("/friend/infoIgnore/" + id);
}


/**
 * 注册
 */
function register(user) {
    return axios.post("/user/register/" + user.code, user);
}

/**
 * 判断用户名是否存在
 */
function existsName(name) {
    return axios.get("/user/existsName?username=" + name);
}

/**
 * 发送手机验证码
 */
function getPhoneCode(phone, code) {
    return axios.get("/user/getPhoneCode?phone=" + phone + "&code=" + code);
}

/**
 * 获取上次手机验证码发送时间
 */
function getSendTime(phone) {
    return axios.get("/user/getSendTime?phone=" + phone);
}

/**
 * 修改用户信息
 */
function updataUserInfo(user, config) {
    if (config) {
        return axios.post("/user/updataUserAndFile", user, config);
    }
    return axios.post("/user/updataUserInfo", user);
}

/**
 * 发送文件
 */
function sendFileToServer(par) {
    return axios.post("/mc/sendFile", par, {
        headers: { 'Content-Type': 'multipart/form-data' }
    });
}

